﻿namespace Birkelund.QueryStrings
{
    /// <summary>
    /// Interface to define a synetric encryption algorithm.
    /// </summary>
    public interface ISymmetricEncryption
    {
        /// <summary>
        /// Encrypt a string
        /// </summary>
        /// <param name="clearText"></param>
        /// <returns>Returns encrypted text or throws an exception on error</returns>
        string Encrypt(string clearText);
        
        /// <summary>
        /// Decrypt an encrypted string
        /// </summary>
        /// <param name="encryptedText">Encrypted string</param>
        /// <returns>Returns cleattext or throws an exception on error</returns>
        string Decrypt(string encryptedText);
    }
}
